package com.server.store.data;

import java.util.ArrayList;
import java.util.List;

import com.google.appengine.api.datastore.EntityNotFoundException;
import com.googlecode.objectify.Objectify;
import com.googlecode.objectify.ObjectifyService;
import com.googlecode.objectify.Query;
import com.shared.model.Compagnie;
import com.shared.model.Garantie;
import com.shared.model.Produit;
import com.shared.model.Proposition;
import com.shared.model.Tarification;
/**
 * DAO de gestion des {@link Proposition}
 * @author queyroi
 *
 */
public class PropositionManager extends DataManager<Proposition>{

	static{
		ObjectifyService.register(Proposition.class);
		ObjectifyService.register(Tarification.class);
		ObjectifyService.register(Produit.class);
		ObjectifyService.register(Compagnie.class);
		ObjectifyService.register(Garantie.class);
	}
	
	@Override
	public List<Proposition> getList() {
		List<Proposition> listReturn = new ArrayList<Proposition>();
		Objectify ofy = ObjectifyService.begin();
		Query<Proposition> query = ofy.query(Proposition.class);
		for(Proposition a : query){
			listReturn.add(a);
		}
		return listReturn;
	}
	
	public Produit getProduit(Proposition proposition) throws EntityNotFoundException{
		Objectify ofy = ObjectifyService.begin();
		try{
			return ofy.get(Produit.class, proposition.getKeyProduit().getId());
		}catch(NullPointerException e){
			return null;
		}
	}
	
	

}
